function setupUserGrid() {
    $("#users").jqGrid({
        url : 'getUserList.action',
        datatype : "json",
        colNames : [ '用户ID', '用户名', '性别', '所属部门', '生日' ],
        colModel : [ {
            name : 'userId',
            index : 'userId',
            width : 100,
            sorttype : "int"
        }, {
            name : 'userName',
            index : 'userName',
            width : 200
        }, {
            name : 'isMale',
            index : 'isMale',
            width : 60
        }, {
            name : 'departName',
            index : 'departName',
            width : 200
        }, {
            name : 'birthday',
            index : 'birthday',
            width : 150
        } ],
        rowNum : 10,
        height : 'auto',
        rowList : [ 10, 20, 30 ],
        pager : '#pager',
        sortname : 'id',
        viewrecords : true,
        sortorder : "desc",
        caption : "用户信息一览",
        multiselect : true,
        loadError : dealError
    });
    $("#users").jqGrid('navGrid', '#pager', {
        edit : false,
        add : false,
        del : false
    });
}

function setupUserToolbar() {
    $("#add").button({
        icons : {
            primary : "ui-icon-plus"
        }
    }).click(function() {
        $("#userId").val("");
        var params = {};
        $.ajax({
            url : "listDepart.action",
            type : "post",
            dataType : "json",
            data : params,
            success : setupDepart,
            error : dealError
        });
    });

    $("#edit").button({
        icons : {
            primary : "ui-icon-pencil"
        }
    }).click(function() {
        var selects = $('#users').jqGrid('getGridParam', 'selarrrow');
        if (!selects || selects == '') {
            message('请选择需要更新的用户信息！', 'alert', 'top');
            return false;
        }
        if (selects.length > 1) {
            message('请只选择一条需要更新的用户信息！', 'alert', 'top');
            return false;
        }
        var params = {
            selectIds : selects.toString()
        };
        $.ajax({
            url : "updateInitUser.action",
            type : "post",
            dataType : "json",
            data : params,
            success : showUser,
            error : dealError
        });
    });

    $("#delete").button({
        icons : {
            primary : "ui-icon-close"
        }
    }).click(function() {
        var selects = $('#users').jqGrid('getGridParam', 'selarrrow');
        if (!selects || selects == '') {
            message('请选择需要更新的用户信息！', 'alert', 'top');
            return false;
        }
        confirm('是否确定删除？','center', doDelete);
    });
}

function doDelete() {
    var selects = $('#users').jqGrid('getGridParam', 'selarrrow');
    var params = {
        selectIds : selects.toString()
    };
    $.ajax({
        url : "deleteUser.action",
        type : "post",
        dataType : "json",
        data : params,
        beforeSend : validate,
        success : reload,
        error : dealError
    });
}

function validate(xhr) {
    ;
}

function validateUser() {
    if ($('#userId').val().length != 6) {
        message('用户ID的请输入6位英文子母或者数字！', 'alert', 'top');
        return false;
    }
    if ($('#userName').val().length == 0) {
        message('请输入用户名', 'alert', 'top');
        return false;
    }
    if (!isAlpha($('#userId').val())) {
        message('用户ID的请输入6位英文子母或者数字！', 'alert', 'top');
        return false;
    }
    if ($('#userId').val().length == 0) {
        message('请输入用户名！', 'alert', 'top');
        return false;
    }
    if ($('#birthday').val().length != 0) {
        if (!isDate($('#birthday').val())) {
            message('日期格式错误，请重新输入！', 'alert', 'top');
            return false;
        }
    }
    return true;
}

function setupUserDialog() {
    $("#detail").dialog({
        autoOpen : false,
        show : "slide",
        height : 265,
        width : 280,
        modal : true,
        buttons : {
            登录 : function() {
                if (!validateUser()) {
                    return false;
                }
                var params = $("#userForm").serialize();
                $.ajax({
                    url : "saveUser.action",
                    type : "post",
                    dataType : "json",
                    data : params,
                    success : reload,
                    error : dealError
                });
                $(this).dialog("close");
                return false;
            },
            取消 : function() {
                $(this).dialog("close");
                return false;
            }
        },
        close : function() {
            $("input").val("").removeClass("ui-state-error");
        }
    });
}

function reload() {
    $("#users").trigger("reloadGrid");
}

function showUser(result, status) {
    setupDepart(result);
    var data = result.user;
    $("#id").val(data.id);
    $("#userId").val(data.userId);
    $("#userName").val(data.userName);
    $("#password").val(data.password);
    $("#sex").val(data.sex);
    $("#departId").val(data.departId);
    $("#birthday").val(data.birthday);
}

function setupDepart(data, status) {
    $("#departId option").remove();
    var departs = data.departInfo;
    for ( var i = 0; i < departs.length; i++) {
        var id = departs[i].id;
        var name = departs[i].departName;
        var option = "<option value=" + id + ">" + name + "</option>";
        $("#departId").append(option);
    }
    $("#detail").dialog("open");
}
